﻿/**********************************天使物流*******************************************
* 功能描述:系统设置——角色管理
* 作者:孟帅龙
* 时间:2022/1/12
* 
**********************************天使物流*******************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TianShiProject.Models.Common;
using TianShiProject.Models.System.Roles;
using Volo.Abp.Application.Services;

namespace TianShiProject.System.Roles
{
    public class RoleService : ApplicationService
    {
        private readonly IRoleRepository _roleRepository;
        public RoleService(IRoleRepository roleRepository)
        {
            _roleRepository= roleRepository;
        }

        #region 角色管理——查询分页显示
        /// <summary>
        /// 角色管理——查询分页显示
        /// </summary>
        /// <param name="RoleName"></param>
        /// <param name="pageindex"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        public async Task<PageResponse<RolesDto>> GetRolePageShow(string RoleName, int pageindex=1, int pagesize=3)
        {
            return await _roleRepository.GetRolePageShow(RoleName, pageindex, pagesize);
        } 
        #endregion

        #region 角色管理——逻辑删除
        /// <summary>
        /// 角色管理——逻辑删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task<PageResponse<RolesDto>> DeleteRole(int id)
        {
            return await _roleRepository.DeleteRole(id);
        }
        #endregion

        #region 角色管理——批量删除
        /// <summary>
        /// 角色管理——批量删除
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        public async Task<PageResponse<RolesDto>> DeleteBatchRole(string ids)
        {
            return await _roleRepository.DeleteBatchRole(ids);
        }
        #endregion

        #region 角色管理——添加
        /// <summary>
        /// 角色管理——添加
        /// </summary>
        /// <param name="rolesDto"></param>
        /// <returns></returns>
        public async Task<int> PostAddRole(RolesDto rolesDto)
        {
            return await _roleRepository.PostAddRole(rolesDto);
        }
        #endregion

        #region 角色管理——编辑
        /// <summary>
        /// 角色管理——编辑
        /// </summary>
        /// <param name="rolesDto"></param>
        /// <returns></returns>
        public async Task<int> PostUpdateRole(RolesDto rolesDto)
        {
            return await _roleRepository.PostUpdateRole(rolesDto);
        } 
        #endregion
    }
}
